<?php
/*
 * СПВ
 **/
abstract class SP_Form_AForm
{
	abstract public function getLabel($name); //возвращает лэйбл поля с именем $name
	abstract public function getError($name); //возвращает ошибки валидации поля с именем $name
	abstract public function getHtml($name);  //возвращает хтмл поля с именем $name
	abstract public function getField($name); //возвращает поле с именем $name
	abstract public function getValue($name); //возвращает значение поля с именем $name
	abstract public function getFormHtml();   //возвращает хтмл формы
	abstract public function getFormError($name); //возвращает ошибку валидации формы
	
	abstract public function setFormError($name, $value); //устанавливает ошибку валидации формы
	abstract public function setValue($name, $value); //устанавливает значение поля с именем $name
	abstract public function setName($value);     //устанавливает имя формы
	abstract public function setMethod($value);   //устанавливает метод формы
	abstract public function setAction($value);   //устанавливает экшн формы
	abstract public function setField($field);    //добавляет поле в форму
	abstract public function setFields($fields);  //добавляет поля в форму
	
	abstract public function hasField($name);    //возвращает есть ли поле с именем $name в форме
	
	abstract public function validate(); //валидация поступивших данных
	abstract public function fill($data_array); //заполнение поля данными, например из бд
}